package mx.ipn.presentacion.nomina;

import mx.ipn.presentacion.nomina.ui.*;
import mx.ipn.presentacion.ConexionConNegocios;
import com.trolltech.qt.gui.QMessageBox;
import com.trolltech.qt.gui.QApplication;
import com.trolltech.qt.gui.QTableWidgetItem;
import com.trolltech.qt.gui.QWidget;
import com.trolltech.qt.gui.QDialog;
import mx.ipn.to.*;

import java.util.*;
public class AsignarPuesto extends QDialog{
	Ui_Asignpuesto crear;
	DescuentoTO desc;
	PercepcionTO per;
	DescuentoPuestoTO  descpuesto;
	PercepcionPuestoTO perpuesto;
	PercepcionTO listPercepcionTO;
	PuestoTO listPuestoTO;
	DescuentoTO listDescuentoTO;
	int id_desc;
	int id_dp;
	int tableper=-1;
	public AsignarPuesto(){
			crear = new Ui_Asignpuesto();
			crear.setupUi(this);
			//rep.tableWidget.setRowCount(1);
			//rep.tableWidget.itemClicked.connect(this,"selectFactura()");
			//rep.pushButton.clicked.connect(this, "ver()");
			//rep.pushButton_2.clicked.connect(this, "buscar()");
			//rep.radioButton.clicked.connect(this,"mes()");
			//rep.radioButton_2.clicked.connect(this,"dia()");
			crear.pushButton_3.clicked.connect(this, "buscaempleado()");
			crear.pushButton_4.clicked.connect(this, "modificar()");
			crear.pushButton.clicked.connect(this, "accept()");
            crear.pushButton_2.clicked.connect(this, "reject()");
            crear.radioButton.clicked.connect(this,"tablaper()");
			crear.radioButton_2.clicked.connect(this,"tabladesc()");
			this.show();
	}
	public AsignarPuesto(QDialog parent){
			
	}
	public void limpia(){
		crear.lineEdit.setText("");
		crear.lineEdit_2.setText("");
	}
	/*public void eliminar(){
		short r1= (short)-1;
		if(tableper==0){
		r1 =((Short)ConexionConNegocios.invocaServicio("eliminaDetalleFactura",idf,Short.class)).shortValue();
	    }
	    if(tableper==1){
	    r1 =((Short)ConexionConNegocios.invocaServicio("eliminaDetalleFactura",idf,Short.class)).shortValue();
	    }
		if(r==1){
			 QMessageBox.information(null,"informacion","eliminada");
			 limpia();
	         }
		else{
			 QMessageBox.critical(null, "Error",
						"No se borro nungun dato.",
						QMessageBox.StandardButton.Ok,
						QMessageBox.StandardButton.Ok);}
	}*/
	public void llena(DescuentoTO desc){
		//crear.lineEdit.setText(desc.getNombre());
		crear.lineEdit_2.setText(String.valueOf(desc.getIdDescuento()));
	}
	public void llena1(PercepcionTO per){
		//crear.lineEdit.setText(per.getNombre());
		crear.lineEdit_2.setText(String.valueOf(per.getIdPercepcion()));
	}
	public void buscaempleado(){
		BuscarPuesto bemp = new BuscarPuesto();
		if(bemp.exec()== QDialog.DialogCode.Accepted.value()){
			if(bemp.puesto!=null){
				listPuestoTO=bemp.puesto;
				crear.lineEdit.setText(String.valueOf(listPuestoTO.getNombre()));
			}
		}
	}
	public void modificar(){
		Modificar mod = new Modificar();
		if(mod.exec()== QDialog.DialogCode.Accepted.value()){
			if(tableper==0){
				desc=mod.desc;
				if(mod.desc!=null)
		         llena(mod.desc);
			}
			if(tableper==1){
				per=mod.per;
				if(mod.per!=null)
		         llena1(mod.per);
			}
			
		}
	}
	public void tablaper(){
		tableper=1;
	}
	public void tabladesc(){
		tableper=0;
	}
	public boolean valida(){
		boolean valido=false;
		if(crear.lineEdit.text().compareToIgnoreCase("")!=0){
			if(crear.lineEdit_2.text().compareToIgnoreCase("")!=0){
					valido=true;		
			}
		}
		return valido;
	}
	public void accept(){
		if(tableper!=-1){
		  if(valida()){
		  	 //si descuento
		  	 if(tableper==0){
		  		if(desc!=null){
		        descpuesto = new DescuentoPuestoTO(desc,listPuestoTO);
		        boolean flag=((Boolean)ConexionConNegocios.invocaServicio("insertDescuentoPuesto",descpuesto,Boolean.class)).booleanValue();
		        if(flag)
		           QMessageBox.information(null,"informacion","guardada");
		  		}
		     }
		     //si percepcion
		     if(tableper==1){
		    	 if(per!=null){
		        perpuesto = new PercepcionPuestoTO(per,listPuestoTO);
		        boolean flag1=((Boolean)ConexionConNegocios.invocaServicio("insertarPercepcionP",perpuesto,Boolean.class)).booleanValue();
		        if(flag1)
		           QMessageBox.information(null,"informacion","guardada");
		    	 }
		     }
	      }
	    }
	}
	public void reject(){
		this.dispose();
	}
}